package com.rabbit.videoplayer

import android.content.Context
import android.view.View
import com.rabbit.videoplayer.listener.OnVideoStatusListener
import com.rabbit.videoplayer.listener.player.*

interface IMixPlayer: OnVideoStatusListener {

    fun initPlayer(context: Context): View
    fun getDuration(): Long
    fun setAutoPlay(isAutoPlay: Boolean)
    fun getCurrentPosition(): Long
    fun getBufferedPosition(): Long
    fun getCurrentDownloadSpeed(): Long
    fun isPrepared(): Boolean
    fun isPlaying(): Boolean
    fun seekTo(seek: Long)
    fun getSpeed():Float
    fun setSpeed(speed: Float)
    fun stop()
    fun pause()
    fun start()
    fun setLoop(isLoop: Boolean)
    fun getLoop(): Boolean
    fun getPlayerType(): Int
    fun setEnableHardDecoder(isEndableHardDecoder: Boolean)
    fun setScaleMode(model: Int)
    fun getScaleMode(): Int
    fun setOnErrorListener(listener: OnErrorListener)
    fun setOnInfoListener(listener: OnInfoListener)
    fun setOnPreparedListener(listener: OnPreparedListener)
    fun setOnCompletionListener(listener: OnCompletionListener)
    fun setOnStateChangedListener(listener: OnStateChangedListener)
    fun setOnLoadingStatusListener(listener: OnLoadingStatusListener)
    fun setOnRenderingStartListener(listener: OnRenderingStartListener)
    fun setOnVideoSizeChangedListener(listener: OnVideoSizeChangedListener)

}